package effective.java.item49;

public class AssertionExample {

    public static void main(String[] args) {
        // 假设这个方法需要一个非空字符串参数
//        checkStringIsNotNullOrEmpty("Hello, World!");

        // 尝试使用一个空字符串，这将导致断言失败
         checkStringIsNotNullOrEmpty(""); // 这行如果取消注释将会导致AssertionError
    }

    /**
     * 检查字符串是否非空。
     *
     * @param str 要检查的字符串
     */
    public static void checkStringIsNotNullOrEmpty(String str) {
        // 使用断言来检查字符串是否非空
        assert str != null && !str.isEmpty() : "String must not be null or empty";

        // 如果断言通过，则继续执行后续代码
        System.out.println("String is valid: " + str);
    }

    // 注意：在Java中，默认情况下断言是禁用的。
    // 要启用断言，你需要在运行程序时添加-ea（或-enableassertions）参数。
    // 例如：java -ea AssertionExample
}
